package com.xuelang.pipeline.artifact.app.harborv2.xo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.OffsetDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Accessory {
    /**
     * The artifact id of the accessory
     */
    @JsonProperty("artifact_id")
    private Long artifactId;
    /**
     * The creation time of the accessory
     */
    @JsonProperty("creation_time")
    private OffsetDateTime creationTime;
    /**
     * The artifact digest of the accessory
     */
    private String digest;
    /**
     * The icon of the accessory
     */
    private String icon;
    /**
     * The ID of the accessory
     */
    private Long id;
    /**
     * The artifact size of the accessory
     */
    private Long size;
    /**
     * The subject artifact digest of the accessory
     */
    @JsonProperty("subject_artifact_digest")
    private String subjectArtifactDigest;
    /**
     * Going to be deprecated, use repo and digest for insteand. The subject artifact id of the
     * accessory.
     */
    @JsonProperty("subject_artifact_id")
    private Long subjectArtifactId;
    /**
     * The subject artifact repository name of the accessory
     */
    @JsonProperty("subject_artifact_repo")
    private String subjectArtifactRepo;
    /**
     * The artifact size of the accessory
     */
    private String type;
}